import 'package:wk_weather/utils/ToastUtils.dart';
import 'package:ota_update/ota_update.dart';
import 'package:wk_weather/views/MyApp.dart';


class OTAUtils {
  // void onData( OtaEvent event) , 函数参数 中直接定义 接口 ？ 这是啥gui ,
  static startOTA(String url, void onData( OtaEvent event) ) async {

    try {
      OtaUpdate().execute(url, destinationFilename: 'SimplicityWeather.apk')
          .listen(  (OtaEvent event) {
            onData(event); // 回调数据 给调用者

            if (event.status == OtaStatus.DOWNLOAD_ERROR) {
              ToastUtils.toastMsg("下载失败", globalKey.currentContext);
            }

            else if (event.status == OtaStatus.INTERNAL_ERROR) {
              ToastUtils.toastMsg("未知失败", globalKey.currentContext);
            }

            else if (event.status == OtaStatus.PERMISSION_NOT_GRANTED_ERROR) {
              ToastUtils.toastMsg("请打开权限", globalKey.currentContext);
            }

            else if (event.status == OtaStatus.INSTALLING) {
              ToastUtils.toastMsg("正在安装...", globalKey.currentContext);
            }
        },
      );
    } catch (e) {
      print('升级失败！ Details: $e');
    }
  }

}
